Many computer applications make use of tree controls. For example, when commanded to open a file, an application will often display a tree control representing the file directory structure, wherein the nodes of the tree represent either files or subdirectories which may themselves contain files and/or additional subdirectories.
Typically, to save space, only one or two directory levels are shown. Further sub-levels are represented by a “collapser,” typically a small box enclosing a “+” or a “−” sign, which when clicked on by a user, either expands the node to display another sublevel, or collapses the node to hide the node's sublevels.
Such tree controls can be used to display any data of a hierarchical nature.
The World Wide Web, together with the Internet, allows a client browser to retrieve information from a Web server. Typically, such data is retrieved in the form of a Web page formatted at least in part in Hypertext Markup Language, or HTML. In many cases, it is desirable to display the retrieved hierarchical data in a tree control structure.
An application showing data in a tree-like form in an Internet browser typically relies on either tree controls built with Java Applet or Microsoft Active X. Java is a different language that requires a Java “virtual machine” and should not be confused with JavaScript. A Java applet, which is a relatively “small” application written in Java, requires binary code to be downloaded from a server. The final outcome depends on the Java virtual machine available on the browser. If none is available, the user must download a Java “plug-in.” In Microsoft's Active X control solution, for example, a user must download and install the Active X control. These two solutions do not work if the user cannot or chooses not to download and install the virtual machine or plug-in.